//目的是为了维护请求封装
import type { AxiosPromise } from "axios";
import request from "../request";
import type { SunnyCase } from "@/types/sunnyCase/types";

//请求case列表的方法
export function listCaseApi(): AxiosPromise<SunnyCase[]> {
  //使用的是axios(config)的写法，方便统一管理
  return request({
    url: "/sunnyCase",
    method: "get",
  });
}

export function listCaseInModuleApi(
  moduleId: number
): AxiosPromise<SunnyCase[]> {
  return request({
    url: "/sunnyCase/inModule/" + moduleId,
    method: "get",
  });
}

//请求添加case的方法
export function addCaseApi(data: SunnyCase) {
  //使用的是axios(config)的写法，方便统一管理
  return request({
    url: "/sunnyCase",
    method: "post",
    //由于js中的简化语法，键和值同名，直接省略。
    data,
  });
}

//路径参数直接通过字符串拼接到url上完成。
export function delCaseApi(ids: string) {
  return request({
    url: "/sunnyCase/ids/" + ids,
    method: "delete",
  });
}

export function changeCaseApi(data: SunnyCase[]) {
  return request({
    url: "/sunnyCase",
    method: "put",
    data,
  });
}
